1. Field of the Invention
The present invention pertains generally to data communications devices, and more particularly to a method for establishing a spoofing service for a high-level file transfer protocol from a modem.
2. Background of the Invention
The need to transfer information over voice-grade telephone lines via modems has prompted the development of various high-level file transfer protocols such as UUCP, Kermit, and XMODEM. High-level protocols are necessary because they provide a way to accurately send data across noisy lines without data loss or corruption. Most protocols divide the data to be sent into fixed length portions called packets or frames and calculate a cyclical redundancy check (CRC) for each frame to provide a way to detect transmission errors. For stop-and-wait and sliding-window protocols the sender transmits a given number of frames and then waits for an acknowledgement from the receiver that all frames were received intact and transmission may continue. The acknowledgement provides a way for the sender to stay in synchronization with the receiver and retransmit lost or corrupted frames if needed.
Over time, modems have evolved from simple modulators/demodulators transmitting at 300 baud to intelligent data processors capable of significantly higher data transfer rates through sophisticated data compression and line modulation methods. Because of these increased processing capabilities, modern modems can now provide an error correcting data link at the modem level by using such data transfer protocols as Microcom Networking Protocol (MNP) and LAP-M. The ability for modems to provide an error correcting data link provides error-free communication for transmissions where no high-level protocols are in use.
However, the use of stop-and-wait protocols at the host level introduces significant delays into the data transfer process. Even with sliding-window protocols, if the round trip transit time between the sender and receiver is relatively long and the data frame size is relatively small, a significant portion of the overall data transfer time may be spent with the sender blocked waiting for acknowledgements. This problem is compounded by the use of error correcting data transfer protocols at the modem level. Since the receiving modem waits until its data frame is full before calculating the CRC and sending it to the receiving host, an additional delay is introduced between the time data is sent by the sending host and the time the receiving host sends the acknowledgement.
One solution to this problem is for the sending modem to automatically provide the acknowledgement to the host when the host expects it even though the receiver has not actually received the data yet. The receiving modem in turn suppresses any acknowledgements sent by the receiver as the acknowledgements have already been provided by the sending modem. This spoofing service allows the sending host to continuously transmit data and eliminates the round trip transit time delay of the acknowledgements from the receiving host.
In order to establish a spoofing service the sending modem must work in coordination with the receiving modem. Existing spoofing services depend on coordinating the sending and receiving modems through underlying modem data transfer protocols that support spoofing. However, if both modems do not support the same data transfer protocol, or support a protocol that does not provide for spoofing, they will not be able to provide a spoofing service to the host.
Therefore, there is a need to provide a method for a spoofing service that does not depend on the underlying modem data transfer protocol.